package com.aismy.admin.service;

import com.aismy.admin.dto.ScaleSubmitDTO;
import com.aismy.admin.dto.ScaleResultDTO;
import com.aismy.admin.entity.EvalScale;
import com.aismy.admin.vo.QuestionVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author Aismy
 * @date 2025/03/08
 **/
public interface EvalScaleService extends IService<EvalScale> {
    
    List<EvalScale> getAllScales();
    
    EvalScale getScaleDetail(Long scaleId);
    
    Page<EvalScale> getScalePage(Integer page, Integer size, String query);
    
    Long submitEvaluation(Long scaleId, ScaleSubmitDTO submitDTO);
    
    ScaleResultDTO getEvaluationResult(Long scaleId);
    
    ScaleResultDTO generateReport(Long scaleId);

    List<QuestionVO> getScaleQuestions(Long id);

    void updateStatus(Long id, Integer status);
}
